package com.baijiayun.sdk.service;

import com.baijiayun.sdk.core.Msg;
import com.baijiayun.sdk.model.*;

/**
 * 房间
 */
public interface RoomService {
    /**
     * 创建房间
     *
     * @param request
     * @return
     */
    Msg<CreateRoomResponse> create(CreateRoomRequest request);

    /**
     * 更新房间
     * @param roomResponse
     * @return
     */
    Msg update(UpdateRoomResponse roomResponse);

    /**
     * 删除房间
     * @param request
     * @return
     */
    Msg delete(DeleteRoomRequest request);

    /**
     * 获取房间信息
     */
    Msg<GetRoomInfoResponse> info(GetRoomInfoRequest request);

    /**
     * 生成用户参加码
     */
    Msg<GetCodeResponse> getcode(GetCodeRequest request);

    /**
     * 获取已生成的参加码列表
     * @param request
     * @return
     */
    Msg<ListCodeResponse> listcode(ListCodeRequest request);

    /**
     * 获取房间列表
     */
    Msg<GetRoomListResponse> list(GetRoomListRequest request);
    /**
     * 创建分组直播
     */
    Msg<GroupLiveCodesResponse> createGroupLiveCodes(GroupLiveCodesRequest request);

    /**
     * 获取直播分组
     * @param request
     * @return
     */
    Msg<GetGroupLiveCodesResponse> getGroupLiveCodes(GetGroupLiveCodesRequest request);
}
